The present invention relates to a keyboard arrangement and control system for computers and similar equipment.
In normal use, computers can be controlled and operated by a combination of a conventional typewriter keyboard, the so-called QWERTY keyboard and a mouse together with optionally other input devices such as light pens for particular applications. For other functions the keyboard has other function and operational keys.
There have been many proposals to change and improve the keyboard in order to make it faster to use and more ergonomic; however, these proposals still require the use of a mouse. Although it is possible to use simultaneous combinations of keys to obviate the use of a mouse and to carry out most of the operations carried out by the mouse, this has not proved satisfactory in use.
I have now devised an improved keyboard which helps to overcome these difficulties with reference to a keyboard representation (KeyGuide) on the screen using the KeyGuidexe2x80x94and still leave other inputs available if necessary.
According to the invention there is provided a keyboard comprising a base on which are mounted a plurality of keys and in which there is a grid on the base which surrounds at least some of the keys, there being means to show on a display unit controlled by the keyboard, a representation of the grid and means to identify, on the display unit, at least some of the keys and their position relative to the grid.
The display unit can comprise any type of display unit for example video display unit, fixed layout on an instrument, paper display or any other display.
The grid, which is referred to herein as a KeyGuide preferably comprises a set of lines that fits the matrices, grid or layout of the keyboard to allow the keys to be represented in a diagram without having to show each key. Each key on the keyboard preferably is able to be located using this diagram, although optionally keys such as the PageSelect keys need not be able to be so located. In use part or all of the keyboard or KeyGuide need only be displayed.
The KeyGuide can be used in several ways, including as a representation of most or all of the keys overlaid on the user""s screen; as a KeyGuide icon which represents the key layout which can be described anywhere on the screen as controlled by the application, or as a KeyGuide icon displayed with text and/or icon of the operation to be performed. The KeyGuide can include the background colour and shape as part of the Grid and Icon and although the KeyGuide icon and the prompts on the screen need not be the exact same colour as the KeyGuide on the keyboard the colour is preferably close enough to easily recognised as equivalent. The KeyGuide is specifically adapted so as to be able to identify and locate the individual keys and the KeyGuide can be in the form of a raised line or groove on the keyboard to make location easier. The KeyGuide can be embossed as can be some or all of the keys, alternatively at least some of the keys can be at least partly surrounded by embossing so they can be identified easily by feel. In another embodiment the keyboard can be in the form of a flat keyboard with or without tactile feel which allows the operator""s fingers to slide easily over the keys to locate the correct key.
The representation of the KeyGuide can show only part of it where it is more convenient to have a smaller KeyGuide representation.
The KeyGuide can be any shape e.g. rectangular, semicircular etc. and can appear any shape on the screen e.g. rectangular, so that the representation on the screen is a diagrammatic representation of the KeyGuide with the relative position of the keys shown.
The keyboard preferably has an array or matrix of keys and can comprise a plurality of different groups or matrices of keys which can have different functions.
Preferably there is an array of keys substantially centrally positioned relative to the other keys and the KeyGuide surrounds and delineates a section or sections of these centrally positioned keys. The functions or operations controlled by these keys, herein called xe2x80x98KeyPagexe2x80x99 keys, can be changed by the operation of other keys as is described below.
The KeyPage keys are the general purpose keys which are used in conjunction with the PageSelect keys to form the KeyPage Set which is the full set of operations for a given application e.g. for text control this is letters (KeyPage0), digits (KeyPage1), punctuation and cursor control (KeyPage2), format and layout (KeyPage3) with a spare KeyPage for the user to define. (KeyPage4)
For example, the KeyPage keys can control the alphabet, numbers, punctuation, etc. as in a conventional keyboard and can be used for text control.
The KeyGuide will fit around some of the keys so that on the screen a representation of the Keyboard and KeyGuide will appear. It is then an easy matter for the screen to show what key is operated, or is to be operated by reference to the KeyGuide.
In a preferred embodiment of the invention, there are a plurality of key types in groups, each of which have a specific function or operation. Each group need not be physically located together but all the members of a group have a commonality of function.
The number of different key groups depends on the range of operations and can, for example, be up to 10, e.g. 5. When there are five key types they can optionally be classified as KeyPage, PageSelect, Action Key, Option and Function. In this embodiment the PageSelect keys comprise a group of keys which function in a way which is substantially the same as the shift key in a conventional keyboard and only apply to the KeyPage keys, although selecting a particular KeyPage key may change the xe2x80x9cfixed keysxe2x80x9d.
In practice the various types or groups of keys may have functions which overlap. The Action keys are a subset of the KeyPage keys, i.e. the action of the Action keys depends on which KeyPage they are on.
In general, the PageSelect keys only act on the KeyPage keys (which include the Action keys) but since all the keys are basically reprogrammable, it may be useful in certain circumstances to change the Option keys and optionally the Function keys when a particular KeyPage is selected.
These PageSelect keys can operate on the other key groups changing the operation of the other keys. There need not be a large number of PageSelect keys, as the PageSelect keys gives the KeyPage Sets different functions. The KeyPage keys are the main set of keys and there should be sufficient in number to cover the alphabet and other function keys. Preferably they are present in a matrix, e.g. 6xc3x975. By using a PageSelect key, the number of keys easily accessed is greatly increases as these keys will change the actions of most of the other keys and cause the display to be updated. For simple applications where there are only a few actions the KeyGuide display can be fixed (i.e. no display unit), or an overlay approach used with a different overlay for different tasks.
Using the Text KeyPage Set as an example, to change their function from xe2x80x98alphabetxe2x80x99 to another function, a PageSelect key is operated. Other functions which can be controlled from the KeyPage keys are, for example lists:- lists of files, tag list, windows list and options list. Using the unallocated KeyPage for a list of files (for instance) means that the KeyPage would then be able to display the list required.
Alternatively, an Option key may select a list of all the lists available and the user would select the list required from that list of lists.
The KeyPage keys can be used in place of a mouse; either by using an available KeyPage (e.g. PageSelect 4) or by selecting a mouse substitute KeyPage Set from an Option key or KeyPage key option. Using this KeyPage Set, each KeyPage allows the cursor or mouse pointer to be controlled in a different way.
For instance, using one KeyPage the screen is divided into a number of boxes defined as the same as the number of rows and columns on the keyboard""s main KeyPage keys (i.e. not the Action keys), then a key on the KeyPage moves the pointer to the relative box on the screen. The range then reduces in size to cover the smallest of the previous boxes; at each press the available area reduces until the box covers the smallest moves available. The user then has zoomed in on a point starting from a full screen (or document etc.).
Another KeyPage gives each key a direction and step size, and at each keypress of a KeyPage key moves the pointer by the relative amount. Another KeyPage does the same, but repeats until the key is released, or a limit is reached (e.g. the edge of the screen).
An example for text editing the first KeyPage is letters, the KeyPage using PageSelect is digits, the KeyPage using PageSelect 2 is punctuation and cursor control and KeyPage using PageSelect 3 is format control. For a KeyPage set to do that when text is being edited, the text KeyPage set is used. Similarly when a list (including a list of options) is being used or target control (which is equivalent to mouse control) their respective KeyPage Sets are used; particular applications will have their own KeyPage Sets.
The Option and Action keys operation will vary depending on the KeyPage set in use. In general it is convenient for the Option keys to apply to the Application and KeyPage Set in operation and the Action keys to apply only to the KeyPage currently selected (the Action keys are a subset of the KeyPage keys). However, there are certain operations which are common to many sets of operations and these are conveniently placed with the Action keys. Typical of these operations arexe2x80x94Escape, Delete, Enter, Return, Systems Options and Option Select. In some situations xe2x80x98Yesxe2x80x99 or xe2x80x98Noxe2x80x99 confirmations can be controlled from the Action keys or from separate Option keys. In general the Option keys are used change the way the KeyPages are set up rather than change individual actions of keys.
Systems Option is the key option which allows the user to select other operations and routines not accessible from particular KeyPage Sets. The other operations and routines for a specific application may not be accessed by other KeyPages or other Option keys or even Function keys. The Option key are fixed keys, not linked with the KeyPage group of keys or normally affected by the PageSelect keys. At least one should be fixed as a System key which is used to control the computer system e.g. to change applications, set system parameters (e.g. normal font type and size), the others may be set with a particular KeyPage Set, so for text an option key might be set to change the current KeyPage Setor one of the KeyPages. (e.g.change the character set or list commonly used words or access files).
The Function keys can operate in a similar way to Function keys in conventional keyboards and can be operated for regularly used functions, e.g. Help function. One of the KeyPage keys may be set up as a help key and used to give help on the KeyPage being valid at the time.
In practice there are three different types of keys, KeyPage keys which are keys with multiple uses and the different uses are controlled by the PageSelect keys; PageSelect keys which are the keys which change the actions of the KeyPage keys and static keys which are not affected by the PageSelect keys. Optionally the keys can be interchangeable. Generally the static keys do not change, particularly the ESCape and System option and are not affected by the PageSelect keys, but since all the keys are user and application programmable, they may not be changed by the PageSelect keys and their main use is to be used for tasks that are needed whatever the KeyPage Set.
The facility of the keys to be programmable enables simpler implementation of regular used tasks such as text entry etc. by having each keypress on the keyboard call up a routine or xe2x80x9cProcessxe2x80x9d which operates that task. The KeyGuide keyboard then in effect becomes a keyboard object. For example in the case of the text KeyPage Set the letter KeyPage uses the letter process which adds the valid character code to the current line and modifies the screen display to include the new letter. The cursor KeyPage control that moves the cursor to the beginning of the line changes the display of the cursor on the screen and adjusts the pointer within the string to the start.
In this way, a program can be broken down into a number of processes of which only a few are valid at anyone time (i.e. the number of keys on the keyboard ). Some of these processes will be to change the current processes (e.g. when a PageSelectKey is pressed they change to the new KeyPage Processes).
There are a number of tasks which the keyboard performs such as text control, drawing control, list or option control, window or panel move/scroll and pointer or cursor control and once these tasks have been designated and their Processes defined they become part of the keyboard object. The task then becomes available to all applications which then become simpler and smaller programs. If desired the application can be defined as a specialist text file and thus the KeyGuide keyboard can make an on board compiler feasible. The invention can lead to a new approach to programming where an action is broken down into small blocks which have a smaller number of options or processes and from which other tasks are selected as needed. This makes it possible to have control embedded in devices. It is accessed by the keyboard which displays the options using KeyGuide and selects the new state for the device.
Preferably in each representation of the keyboard on the screen there is an icon or other identifier for each key for ease of operation. Optionally the display can be indicated by e.g. placing a digit next to the icon or changing the background or other colour of the display or icon or having a menu or display bar along the bottom of the display.
As well as being used with a conventional computer the keyboard of the present invention can be used with a system control for use as a terminal for use e.g. with the xe2x80x9cInternetxe2x80x9d and can be used in conjunction with a television such as when it is part of an interactive service or with other equipment which is adapted or connected to a system into which instructions etc. are to be transmitted.